Page52
Sitemap --- --- --- Scenery/Terrain deformation/transformation : * BS1/BS2 you saw corpses turn into 'lockboxes', that was to prevent the game from having to render all the human figures which are fairly complicated and consume alot of GPU rendering power. So they converted the oldest bodies to something much cheaper to render (making the game work adequately on lower end computers). * For BS1/BS2 when you struck the terrain with your wrench or fired bullets at it it left marks (called 'decals' in the graphics world). I've gone around in those games doing that to everything and they have quite a variety different surface types each with its own 'mark' patterns and sound effects and visual special effect (bits flaking off, a steam leak from a pipe, a small cloud of dust). Those marks over time will go away (and if you do many quickly you will notice there is some limit of how many it will draw at once and it will 'clean up' the oldest ones as you cause new ones to be made. The limit was sufficiently large that you generally wont notice it. * In BS1/BS2 there are a number places there are special terrain features that let you 'break-thru walls'. They are 'precanned' built into the scenery to function that way (and I wish there were at least 3X as many and some hidden a little better to make the terrain more interesting). --- --- --- * This proposed MMORPG's Terrain is modular - made up of many terrain Objects (instead of large sections of fixed/static mesh terrain that game 'levels' areas are normally composed of). Walls/ceiling/floor are all subdivided into smaller objects which can be individually manipulated/mutated. Whole chunks of buildings might be reduced to rubble simply by substituting the set of sub-objects. * Individual 'terrain' objects can be changed significantly, deformed or even removed/substituted. Example : ** You fire your flamethrower at a wall and it is scorched, that causes a burnt appearance (a texture change with no real change of shape). Decals (Asset type) can be applied as well to vary the scorch marks significantly. ** You then fire a grenade launcher at the wall and the facing inner wall is cratered and caved in - that section of wall (and Object) has a substitution made (new 'wall damage' Object takes the place of the undamaged wall section) with a proper damaged shape/look, and probably some rubble/pieces on the floor (secondary objects). ** The 'patch' (substitution object) is either a pre-canned 'impact damaged' wall section, OR in a more complicated system, a new object is built 'on-the-fly' with a customized 3D mesh with an appropriate customized 'caved-in' shape (if you hit to one side of the wall slab the damage would be centered to that side, or to the right/left/up/down or even accumulative of several hits). * The damage in this game is 'persistent' : ** If you come back later that caved-in wall should still be there (unless someone else (Player or NPC) came and destroyed it more or repaired it (or modified it further). ** It might even crumble further with time (a 'degradation' script could handle that) or if it was wood - get waterlogged and degrade. Burnt things may burn and eventually be nothing but ash. * A deformable terrain system is more complicated and requires more work : ** If you use simpler 'pre-canned' states-of-object-damage, you have to PRE-create all the additional variations of the mesh/textures for all such objects (ALL objects in the game could be subject to such damage). Many are just texture changes, others are mesh changes, while others may be the object blown apart and now in little pieces strewn about. ** A complex on-the-fly 'Patch' systems requires 'damage effect scripts'(programming) to modify an object's mesh patterns appropriately. ** It is possible that both systems could be used, with the more complicated/difficult scripting method being reserved for the most visually positive effect (or those of most interest to player interactions). ** A problem with complex 'Patching' is : A unique set of data is created and it has to be saved in the Server (and sent to any client which has a view of it). ( Note - Complex damage shapes increases the Client rendering load.) ** One advantage to script-based patching is many damage patterns are similar and the same scripts can be reused for different object types (the damage scripts can be 'parameterized' for variations like concrete vs stone vs wood). You would then not need to create 'canned' assets for every possible state (and combination of effect states). * This system allows great variations of terrain : ** In styles and colors, and in the state of different sections (clean/grubby/damaged/obliterated) ** Compatible substitutions can be made with wall section replaced by: a utility access hatch, or a window, a small alcove, a builtin bookcase, a fireplace, etc... Same for floors and ceilings. ** Details (separate objects) can then be hung on the wall surfaces or attached to the ground -- allowing even more variations. * Players 'Repairing' Rapture : ** Terrain can start as bombed out/waterlogged/moldy and be incrementally fixed up. ** would cause wall sections to be cleaned/restored/repainted/etc.. or the old rubble'd section removed and a new intact section put up in its place. ** A player may have to 'take down' a wall section (they are built modular after all) to get at whats behind it to do repairs (pipes, electrical lines, to get at a leak in the concrete structural wall behind, to extract the dead Splicer that's been creating a smell, etc..). ** Sections from other locations can be (salvaged and) brought in to replace wrecked wall/floor/ceiling sections when rebuilding an area. ** There are still many wrecked 'rooms' even in the showcase City Center that were closed off 'til later'. They can be restored to 'pristine' state (... eventually - a be a high value property for the player who fixed it up.) --- --- --- Client Machine Rendering Load : * Increased GPU capabilities have allowed more objects to be represented in the 3D Rendering views. * BioShock (fortunately) is mostly 'room' oriented terrain, with walls blocking most long views and restricting the Player to seeing a fairly small volume. * While in a 'room', the rendering is largely limited to what's in that room (everything out-of-view blocked by walls need not be drawn). * When you are facing a direction in a 'room', only the objects in your front view need be drawn (holds for 'over-the-shoulder' views as well). * Distant objects do not have to be drawn with full detail (a simplified rendering will suffice when its too far away for you to see find details) * Undamaged walls are usually simper in shape (a flat plane) and thus easier to draw. * All the standalone and detailing objects (complex shapes) will likely take alot more of the rendering resources. * The usual slider control that changes Viewing Quality would be provided to adjust LOD (Level Of Detail) at different ranges, which simplifies more distant Objects (to lower the GPU's rendering load). --- --- --- . .